##

Examen des Données:

Avant de se plonger dans des analyses spécifiques, il est essentiel d’examiner les données pour comprendre leur structure, leurs variables et leurs statistiques de base. Nous chargerons les données, examinerons les premières lignes et passerons en revue les types de données et les statistiques sommaires.

## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
## Rows: 731 Columns: 16
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## dbl  (15): instant, season, yr, mnth, holiday, weekday, workingday, weathers...
## date  (1): dteday
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
## Rows: 17379 Columns: 17
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## dbl  (16): instant, season, yr, mnth, hr, holiday, weekday, workingday, weat...
## date  (1): dteday
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.

Les statistiques descriptives du jeu de données indiquent que les variables telles que la température (temp), la température ressentie (atemp), l’humidité (hum), la vitesse du vent (windspeed), ainsi que les compteurs de location de vélos (casual, registered, cnt) varient considérablement. Voici une interprétation des résultats :

Saisonnalité et Température: Les températures varient selon les saisons, avec des températures minimales observées en hiver (season: 4) et des températures maximales en été (season: 2). Cela pourrait influencer la demande de location de vélos, car les utilisateurs préfèrent généralement des conditions météorologiques plus clémentes pour le cyclisme.

Tendances Annuelles et Mensuelles: La variable yr indique les années 2011(0) et 2012(1), permettant des analyses comparatives entre les deux années. La variable mnth montre la répartition mensuelle, ce qui est essentiel pour examiner les tendances mensuelles de la location des vélos.

Jours Fériés et Jours Ouvrables: La variable holiday montre les jours fériés, et workingday indique si le jour est ouvrable. Ces facteurs peuvent avoir un impact significatif sur le nombre de locations (cnt), car les jours fériés et non ouvrables pourraient voir un nombre différent de locations par rapport aux jours ouvrables.

Conditions Météorologiques: Les conditions météorologiques (weathersit) sont classées de 1 (temps clair) à 3 (neige légère ou pluie légère), et ont une incidence directe sur la décision de louer un vélo. Des conditions météorologiques défavorables peuvent réduire le nombre de locations.

Utilisateurs Occasionnels vs Enregistrés: Le nombre d’utilisateurs occasionnels (casual) et enregistrés (registered) fournit des informations sur les différents types d’utilisateurs du service de partage de vélos. Les utilis

Examen des Données DAY: Avant de détailler les analyses, un examen préliminaire des données journalières est effectué pour assurer une compréhension globale des variables et de leur comportement général. La visualisation des premières entrées via head(day_data) offre un aperçu immédiat de la distribution quotidienne des variables. Les statistiques résumées par summary(day_data) offrent des mesures descriptives clés telles que la moyenne, la médiane et les plages de données pour chaque variable, révélant ainsi la présence de toute anomalie ou tendance notable. La structure des données est également examinée avec str(day_data) pour confirmer les types de données et identifier d’éventuelles irrégularités dans le formatage, telles que des données manquantes ou des types de variables inappropriés.

## # A tibble: 6 × 16
##   instant dteday     season    yr  mnth holiday weekday workingday weathersit
##     <dbl> <date>      <dbl> <dbl> <dbl>   <dbl>   <dbl>      <dbl>      <dbl>
## 1       1 2011-01-01      1     0     1       0       6          0          2
## 2       2 2011-01-02      1     0     1       0       0          0          2
## 3       3 2011-01-03      1     0     1       0       1          1          1
## 4       4 2011-01-04      1     0     1       0       2          1          1
## 5       5 2011-01-05      1     0     1       0       3          1          1
## 6       6 2011-01-06      1     0     1       0       4          1          1
## # ℹ 7 more variables: temp <dbl>, atemp <dbl>, hum <dbl>, windspeed <dbl>,
## #   casual <dbl>, registered <dbl>, cnt <dbl>
##     instant          dteday               season            yr        
##  Min.   :  1.0   Min.   :2011-01-01   Min.   :1.000   Min.   :0.0000  
##  1st Qu.:183.5   1st Qu.:2011-07-02   1st Qu.:2.000   1st Qu.:0.0000  
##  Median :366.0   Median :2012-01-01   Median :3.000   Median :1.0000  
##  Mean   :366.0   Mean   :2012-01-01   Mean   :2.497   Mean   :0.5007  
##  3rd Qu.:548.5   3rd Qu.:2012-07-01   3rd Qu.:3.000   3rd Qu.:1.0000  
##  Max.   :731.0   Max.   :2012-12-31   Max.   :4.000   Max.   :1.0000  
##       mnth          holiday           weekday        workingday   
##  Min.   : 1.00   Min.   :0.00000   Min.   :0.000   Min.   :0.000  
##  1st Qu.: 4.00   1st Qu.:0.00000   1st Qu.:1.000   1st Qu.:0.000  
##  Median : 7.00   Median :0.00000   Median :3.000   Median :1.000  
##  Mean   : 6.52   Mean   :0.02873   Mean   :2.997   Mean   :0.684  
##  3rd Qu.:10.00   3rd Qu.:0.00000   3rd Qu.:5.000   3rd Qu.:1.000  
##  Max.   :12.00   Max.   :1.00000   Max.   :6.000   Max.   :1.000  
##    weathersit         temp             atemp              hum        
##  Min.   :1.000   Min.   :0.05913   Min.   :0.07907   Min.   :0.0000  
##  1st Qu.:1.000   1st Qu.:0.33708   1st Qu.:0.33784   1st Qu.:0.5200  
##  Median :1.000   Median :0.49833   Median :0.48673   Median :0.6267  
##  Mean   :1.395   Mean   :0.49538   Mean   :0.47435   Mean   :0.6279  
##  3rd Qu.:2.000   3rd Qu.:0.65542   3rd Qu.:0.60860   3rd Qu.:0.7302  
##  Max.   :3.000   Max.   :0.86167   Max.   :0.84090   Max.   :0.9725  
##    windspeed           casual         registered        cnt      
##  Min.   :0.02239   Min.   :   2.0   Min.   :  20   Min.   :  22  
##  1st Qu.:0.13495   1st Qu.: 315.5   1st Qu.:2497   1st Qu.:3152  
##  Median :0.18097   Median : 713.0   Median :3662   Median :4548  
##  Mean   :0.19049   Mean   : 848.2   Mean   :3656   Mean   :4504  
##  3rd Qu.:0.23321   3rd Qu.:1096.0   3rd Qu.:4776   3rd Qu.:5956  
##  Max.   :0.50746   Max.   :3410.0   Max.   :6946   Max.   :8714
## spc_tbl_ [731 × 16] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
##  $ instant   : num [1:731] 1 2 3 4 5 6 7 8 9 10 ...
##  $ dteday    : Date[1:731], format: "2011-01-01" "2011-01-02" ...
##  $ season    : num [1:731] 1 1 1 1 1 1 1 1 1 1 ...
##  $ yr        : num [1:731] 0 0 0 0 0 0 0 0 0 0 ...
##  $ mnth      : num [1:731] 1 1 1 1 1 1 1 1 1 1 ...
##  $ holiday   : num [1:731] 0 0 0 0 0 0 0 0 0 0 ...
##  $ weekday   : num [1:731] 6 0 1 2 3 4 5 6 0 1 ...
##  $ workingday: num [1:731] 0 0 1 1 1 1 1 0 0 1 ...
##  $ weathersit: num [1:731] 2 2 1 1 1 1 2 2 1 1 ...
##  $ temp      : num [1:731] 0.344 0.363 0.196 0.2 0.227 ...
##  $ atemp     : num [1:731] 0.364 0.354 0.189 0.212 0.229 ...
##  $ hum       : num [1:731] 0.806 0.696 0.437 0.59 0.437 ...
##  $ windspeed : num [1:731] 0.16 0.249 0.248 0.16 0.187 ...
##  $ casual    : num [1:731] 331 131 120 108 82 88 148 68 54 41 ...
##  $ registered: num [1:731] 654 670 1229 1454 1518 ...
##  $ cnt       : num [1:731] 985 801 1349 1562 1600 ...
##  - attr(*, "spec")=
##   .. cols(
##   ..   instant = col_double(),
##   ..   dteday = col_date(format = ""),
##   ..   season = col_double(),
##   ..   yr = col_double(),
##   ..   mnth = col_double(),
##   ..   holiday = col_double(),
##   ..   weekday = col_double(),
##   ..   workingday = col_double(),
##   ..   weathersit = col_double(),
##   ..   temp = col_double(),
##   ..   atemp = col_double(),
##   ..   hum = col_double(),
##   ..   windspeed = col_double(),
##   ..   casual = col_double(),
##   ..   registered = col_double(),
##   ..   cnt = col_double()
##   .. )
##  - attr(*, "problems")=<externalptr>

Examen des Données Horaires: De même, une analyse initiale des données horaires est réalisée pour mettre en évidence les caractéristiques et tendances intra-journalières. En observant les premières lignes avec head(hour_data), nous pouvons identifier les schémas de location de vélos qui pourraient varier tout au long de la journée. Les résumés descriptifs obtenus par summary(hour_data) sont essentiels pour comprendre les dynamiques sur une base horaire et pour déceler les différences par rapport aux tendances journalières. Enfin, la structure détaillée fournie par str(hour_data) garantit que toutes les données horaires sont correctement formatées et prêtes pour des analyses plus avancées.

## # A tibble: 6 × 17
##   instant dteday     season    yr  mnth    hr holiday weekday workingday
##     <dbl> <date>      <dbl> <dbl> <dbl> <dbl>   <dbl>   <dbl>      <dbl>
## 1       1 2011-01-01      1     0     1     0       0       6          0
## 2       2 2011-01-01      1     0     1     1       0       6          0
## 3       3 2011-01-01      1     0     1     2       0       6          0
## 4       4 2011-01-01      1     0     1     3       0       6          0
## 5       5 2011-01-01      1     0     1     4       0       6          0
## 6       6 2011-01-01      1     0     1     5       0       6          0
## # ℹ 8 more variables: weathersit <dbl>, temp <dbl>, atemp <dbl>, hum <dbl>,
## #   windspeed <dbl>, casual <dbl>, registered <dbl>, cnt <dbl>
##     instant          dteday               season            yr        
##  Min.   :    1   Min.   :2011-01-01   Min.   :1.000   Min.   :0.0000  
##  1st Qu.: 4346   1st Qu.:2011-07-04   1st Qu.:2.000   1st Qu.:0.0000  
##  Median : 8690   Median :2012-01-02   Median :3.000   Median :1.0000  
##  Mean   : 8690   Mean   :2012-01-02   Mean   :2.502   Mean   :0.5026  
##  3rd Qu.:13034   3rd Qu.:2012-07-02   3rd Qu.:3.000   3rd Qu.:1.0000  
##  Max.   :17379   Max.   :2012-12-31   Max.   :4.000   Max.   :1.0000  
##       mnth              hr           holiday           weekday     
##  Min.   : 1.000   Min.   : 0.00   Min.   :0.00000   Min.   :0.000  
##  1st Qu.: 4.000   1st Qu.: 6.00   1st Qu.:0.00000   1st Qu.:1.000  
##  Median : 7.000   Median :12.00   Median :0.00000   Median :3.000  
##  Mean   : 6.538   Mean   :11.55   Mean   :0.02877   Mean   :3.004  
##  3rd Qu.:10.000   3rd Qu.:18.00   3rd Qu.:0.00000   3rd Qu.:5.000  
##  Max.   :12.000   Max.   :23.00   Max.   :1.00000   Max.   :6.000  
##    workingday       weathersit         temp           atemp       
##  Min.   :0.0000   Min.   :1.000   Min.   :0.020   Min.   :0.0000  
##  1st Qu.:0.0000   1st Qu.:1.000   1st Qu.:0.340   1st Qu.:0.3333  
##  Median :1.0000   Median :1.000   Median :0.500   Median :0.4848  
##  Mean   :0.6827   Mean   :1.425   Mean   :0.497   Mean   :0.4758  
##  3rd Qu.:1.0000   3rd Qu.:2.000   3rd Qu.:0.660   3rd Qu.:0.6212  
##  Max.   :1.0000   Max.   :4.000   Max.   :1.000   Max.   :1.0000  
##       hum           windspeed          casual         registered   
##  Min.   :0.0000   Min.   :0.0000   Min.   :  0.00   Min.   :  0.0  
##  1st Qu.:0.4800   1st Qu.:0.1045   1st Qu.:  4.00   1st Qu.: 34.0  
##  Median :0.6300   Median :0.1940   Median : 17.00   Median :115.0  
##  Mean   :0.6272   Mean   :0.1901   Mean   : 35.68   Mean   :153.8  
##  3rd Qu.:0.7800   3rd Qu.:0.2537   3rd Qu.: 48.00   3rd Qu.:220.0  
##  Max.   :1.0000   Max.   :0.8507   Max.   :367.00   Max.   :886.0  
##       cnt       
##  Min.   :  1.0  
##  1st Qu.: 40.0  
##  Median :142.0  
##  Mean   :189.5  
##  3rd Qu.:281.0  
##  Max.   :977.0
## spc_tbl_ [17,379 × 17] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
##  $ instant   : num [1:17379] 1 2 3 4 5 6 7 8 9 10 ...
##  $ dteday    : Date[1:17379], format: "2011-01-01" "2011-01-01" ...
##  $ season    : num [1:17379] 1 1 1 1 1 1 1 1 1 1 ...
##  $ yr        : num [1:17379] 0 0 0 0 0 0 0 0 0 0 ...
##  $ mnth      : num [1:17379] 1 1 1 1 1 1 1 1 1 1 ...
##  $ hr        : num [1:17379] 0 1 2 3 4 5 6 7 8 9 ...
##  $ holiday   : num [1:17379] 0 0 0 0 0 0 0 0 0 0 ...
##  $ weekday   : num [1:17379] 6 6 6 6 6 6 6 6 6 6 ...
##  $ workingday: num [1:17379] 0 0 0 0 0 0 0 0 0 0 ...
##  $ weathersit: num [1:17379] 1 1 1 1 1 2 1 1 1 1 ...
##  $ temp      : num [1:17379] 0.24 0.22 0.22 0.24 0.24 0.24 0.22 0.2 0.24 0.32 ...
##  $ atemp     : num [1:17379] 0.288 0.273 0.273 0.288 0.288 ...
##  $ hum       : num [1:17379] 0.81 0.8 0.8 0.75 0.75 0.75 0.8 0.86 0.75 0.76 ...
##  $ windspeed : num [1:17379] 0 0 0 0 0 0.0896 0 0 0 0 ...
##  $ casual    : num [1:17379] 3 8 5 3 0 0 2 1 1 8 ...
##  $ registered: num [1:17379] 13 32 27 10 1 1 0 2 7 6 ...
##  $ cnt       : num [1:17379] 16 40 32 13 1 1 2 3 8 14 ...
##  - attr(*, "spec")=
##   .. cols(
##   ..   instant = col_double(),
##   ..   dteday = col_date(format = ""),
##   ..   season = col_double(),
##   ..   yr = col_double(),
##   ..   mnth = col_double(),
##   ..   hr = col_double(),
##   ..   holiday = col_double(),
##   ..   weekday = col_double(),
##   ..   workingday = col_double(),
##   ..   weathersit = col_double(),
##   ..   temp = col_double(),
##   ..   atemp = col_double(),
##   ..   hum = col_double(),
##   ..   windspeed = col_double(),
##   ..   casual = col_double(),
##   ..   registered = col_double(),
##   ..   cnt = col_double()
##   .. )
##  - attr(*, "problems")=<externalptr>

Vérification de l’Intégrité des Données

Une étape fondamentale dans le prétraitement des données pour toute analyse de science des données consiste à vérifier la présence de valeurs manquantes au sein des ensembles de données. Les valeurs manquantes peuvent conduire à des biais dans l’analyse et affecter la performance des modèles prédictifs. Ainsi, nous avons procédé à une vérification exhaustive des ensembles de données journalières et horaires.

Pour l’ensemble de données horaires, la commande sum(is.na(hour_data)) a été exécutée pour compter le nombre total de valeurs manquantes. Le résultat obtenu est \[1] 0\, ce qui indique qu’il n’y a aucune valeur manquante dans cet ensemble de données. Cela suggère que les données horaires sont complètes et ne nécessitent pas d’imputation ou de traitement des valeurs manquantes.

De manière similaire, l’ensemble de données journalières a été soumis à la même vérification en utilisant sum(is.na(day_data)). Le résultat, également \[1] 0\, confirme l’absence de valeurs manquantes dans cet ensemble de données. Ce niveau d’intégrité des données est exceptionnel et permet de poursuivre les analyses sans la nécessité d’adresser des problèmes de données incomplètes.

## [1] 0
## [1] 0

Contrôle de Doublons dans les Ensembles de Données

Un aspect crucial de la préparation des données est l’identification et la gestion des entrées en double. Les doublons peuvent fausser l’analyse et conduire à des interprétations incorrectes. Afin de garantir l’unicité de nos observations, nous avons effectué une vérification des doublons sur les ensembles de données horaires et journalières.

La commande sum(duplicated(hour_data)) nous a permis de comptabiliser le nombre total d’enregistrements en double dans les données horaires. Le résultat retourné est \[1] 0, indiquant qu’il n’existe aucun doublon dans cet ensemble de données. Cela assure que chaque observation horaire est unique et augmente la fiabilité de toute analyse temporelle effectuée sur ces données.

De la même façon, l’ensemble de données journalières a été examiné avec la commande sum(duplicated(day_data)). Le résultat, tout aussi \[1] 0, confirme qu’il n’y a pas de doublons dans les données journalières.

## [1] 0
## [1] 0

Nous allons maintenant examiner nos données pour répondre aux questions spécifiques posées.

#Comment les températures changent-elles selon les saisons ? Quelles sont les températures moyennes et médianes ?

Changements de Température Selon les Saisons

Nous avons analysé l’évolution de la température en fonction des saisons en calculant les températures moyennes et médianes. Cet examen permet d’appréhender l’influence potentielle des conditions météorologiques saisonnières sur la fréquence de location des vélos. Les résultats obtenus sont les suivants :

Ces observations sont essentielles pour les décideurs dans le domaine du partage de vélos, car elles indiquent des périodes de demande potentielle plus élevée ou plus faible. Les stratégies de disponibilité des vélos et de marketing peuvent ainsi être ajustées pour optimiser le service tout au long de l’année.

## # A tibble: 4 × 3
##   season mean_temp median_temp
##    <dbl>     <dbl>       <dbl>
## 1      1     0.298       0.286
## 2      2     0.544       0.562
## 3      3     0.706       0.715
## 4      4     0.423       0.409

#Y a-t-il une corrélation entre la température (temp/atemp) et le nombre total de locations de vélos ?

##Corrélation entre Température et Nombre Total de Locations de Vélos

Nous avons exploré la relation entre les facteurs météorologiques et le comportement des utilisateurs en matière de location de vélos. Plus précisément, nous avons examiné la corrélation entre la température mesurée (temp), la température ressentie (atemp), leur moyenne (mean_temp_atemp), et le nombre total de locations de vélos (cnt).

Le corrplot généré illustre les coefficients de corrélation entre ces variables. Les cercles les plus grands et les plus foncés indiquent une corrélation plus forte. Selon le corrplot, nous observons les points suivants :

Une forte corrélation positive entre temp et atemp, ce qui est attendu puisque ces mesures sont souvent liées ; La variable mean_temp_atemp montre également une forte corrélation positive avec temp et atemp, confirmant qu’elle est une représentation adéquate de la température générale perçue ; Plus important encore, temp, atemp, et mean_temp_atemp affichent une corrélation positive avec cnt, suggérant que des températures plus élevées sont associées à une augmentation du nombre de locations de vélos. Ces résultats impliquent que les conditions météorologiques plus chaudes, qui sont confortables pour les cyclistes, pourraient favoriser une plus grande utilisation des services de partage de vélos. Cette information est essentielle pour les opérateurs de services de partage de vélos, car elle peut les aider à planifier et à ajuster la disponibilité des vélos en fonction des conditions météorologiques prévues.

## corrplot 0.92 loaded

#Quelles sont les températures moyennes, l’humidité, la vitesse du vent et les locations totales par mois ?

Tendances Mensuelles des Locations de Vélos

Nous avons calculé les moyennes mensuelles de la température, de l’humidité, de la vitesse du vent et des locations totales pour révéler des tendances saisonnières significatives. Voici ce que nous avons découvert :

## # A tibble: 12 × 5
##     mnth mean_temp mean_humidity mean_windspeed mean_rentals
##    <dbl>     <dbl>         <dbl>          <dbl>        <dbl>
##  1     1     0.236         0.586          0.206        2176.
##  2     2     0.299         0.567          0.216        2655.
##  3     3     0.391         0.588          0.223        3692.
##  4     4     0.470         0.588          0.234        4485.
##  5     5     0.595         0.689          0.183        5350.
##  6     6     0.684         0.576          0.185        5772.
##  7     7     0.755         0.598          0.166        5564.
##  8     8     0.709         0.638          0.173        5664.
##  9     9     0.616         0.715          0.166        5767.
## 10    10     0.485         0.694          0.175        5199.
## 11    11     0.369         0.625          0.184        4247.
## 12    12     0.324         0.666          0.177        3404.

#La température est-elle associée aux locations de vélos (enregistrés vs occasionnels) ?

Influence de la Température sur les Locations de Vélos

Nous avons exploré la dynamique entre la température et les locations de vélos, en différenciant les utilisateurs occasionnels des utilisateurs enregistrés. Les données montrent une corrélation entre la température et la fréquence de location des vélos, avec une tendance nette indiquant que les utilisateurs enregistrés et occasionnels sont affectés différemment par les variations de température.

La visualisation des données, comme le montre le graphique ci-dessus, illustre les tendances suivantes :

La ligne représentant les utilisateurs occasionnels montre des pics marqués durant les périodes plus chaudes, tandis que celle des utilisateurs enregistrés démontre une consistance tout au long de l’échelle de température, bien que présentant également une tendance à l’augmentation avec la température.

Ces insights sont précieux pour les opérateurs de systèmes de partage de vélos, car ils indiquent la nécessité d’ajuster les stratégies de disponibilité et de marketing pour répondre aux besoins distincts des différents groupes d’utilisateurs tout au long de l’année.

### Analyse de Corrélation La seconde partie de notre analyse a consisté à calculer la corrélation statistique pour appuyer visuellement les tendances observées :

##                 temp    casual registered
## temp       1.0000000 0.5432847  0.5400120
## casual     0.5432847 1.0000000  0.3952825
## registered 0.5400120 0.3952825  1.0000000

Il y a une corrélation modérée entre la température et les locations pour les utilisateurs occasionnels (casual) de 0.5433. Cela indique que les jours plus chauds voient une augmentation notable des locations de vélos par ces utilisateurs. La corrélation entre la température et les utilisateurs enregistrés (registered) est presque identique à 0.5400, ce qui indique que même si les utilisateurs enregistrés utilisent régulièrement le service, leur utilisation tend également à augmenter avec la température. La corrélation entre les locations des utilisateurs occasionnels et enregistrés est moins forte à 0.3953, ce qui peut indiquer des motifs d’utilisation différents entre les deux groupes.

Analyse Temporelle des Locations de Vélos

L’analyse de la série temporelle du nombre de locations de vélos par jour révèle des modèles et des anomalies significatifs. La visualisation suivante a été générée pour illustrer ces tendances:

- Tendance Saisonnière : Le graphique montre une variation claire qui suggère une tendance saisonnière, avec des pics de locations durant certaines périodes, probablement liés aux saisons plus chaudes, et des creux durant d’autres, qui coïncident vraisemblablement avec les périodes plus froides. - Irrégularités : Des fluctuations sont également visibles, indiquant des irrégularités qui pourraient être causées par des jours spécifiques de la semaine, des événements locaux, ou des conditions météorologiques changeantes. - Pics et Creux : Les pics de location pourraient correspondre aux jours ouvrables ou aux événements spéciaux, tandis que les creux pourraient refléter des jours fériés ou des conditions météorologiques défavorables.

Lissage de la Série Temporelle des Locations de Vélos

Dans le but de construire un modèle prédictif pour les locations de vélos, nous avons appliqué le modèle de Holt-Winters pour lisser la série temporelle. Ce modèle prend en compte la saisonnalité des données, permettant de mieux comprendre les tendances sous-jacentes.

Modèle de Holt-Winters

Le modèle de Holt-Winters ajuste la série temporelle en tenant compte de trois composants : la tendance, la saisonnalité et le niveau. La visualisation suivante montre les données observées (en noir) avec la courbe ajustée par le modèle (en rouge) :

- Tendance Générale : La courbe ajustée suit étroitement la série temporelle observée, capturant les tendances ascendantes et descendantes au fil du temps. - Saisonnalité : Les motifs répétitifs reflètent la saisonnalité des données, avec des périodes de forte demande alternant avec des périodes plus calmes. - Niveau : Le modèle adapte également le niveau général des données, indiquant le nombre moyen de locations sur la période étudiée.

Implications pour la Prédiction

Le lissage de Holt-Winters facilite la prédiction de la demande future en fournissant une base plus stable à partir de laquelle les modèles prédictifs peuvent être développés. En tenant compte de la saisonnalité et des tendances, nous pouvons anticiper les variations futures de la demande et planifier l’allocation des vélos en conséquence.

Analyse de la Stationnarité et Saisonnalité de la Série Temporelle Lissée

Après avoir appliqué le modèle de lissage Holt-Winters aux données de locations de vélos, nous avons obtenu une série temporelle lissée qui reflète les tendances centrales et la saisonnalité sans le bruit des fluctuations quotidiennes.

Lissage Holt-Winters

Le modèle Holt-Winters a été choisi pour son efficacité à capturer à la fois la tendance et la saisonnalité dans les données. En lissant la série temporelle, nous réduisons la variabilité aléatoire et mettons en évidence les composantes structurelles, telles que la tendance et les motifs saisonniers.

La fréquence a été définie sur 12 pour correspondre aux cycles mensuels, supposant une saisonnalité annuelle avec des pics d’utilisation potentiellement liés aux saisons plus chaudes et des creux pendant les saisons plus froides.

Test de Stationnarité

Pour évaluer la stationnarité de la série lissée, le test de Dickey-Fuller augmenté a été effectué:

## 
##  Augmented Dickey-Fuller Test
## 
## data:  smoothed_ts
## Dickey-Fuller = -0.7527, Lag order = 8, p-value = 0.9658
## alternative hypothesis: stationary

La série n’est pas stationnaire (variance constante mais moyenne variable) le test de Dicker Fuller confirme cela avec une p_value = 0.96 (hyp nulle : non stationnaire), on distingue une saison (qui se répète deux fois).

Évaluation de la Stationnarité après Différenciation Saisonnière

Afin d’atteindre la stationnarité, nécessaire pour la modélisation ARIMA, nous avons appliqué une différenciation saisonnière à la série temporelle lissée des locations de vélos. Cette technique est conçue pour supprimer les effets saisonniers et les tendances, en calculant la différence entre chaque observation et son équivalent dans la saison précédente.

Série Temporelle Différenciée

Le graphique de la série différenciée illustre les résultats de cette transformation : - Élimination des Tendances et Saisonnalité : Le graphique montre que la tendance à long terme et les motifs saisonniers sont moins apparents, indiquant une réussite potentielle dans la stabilisation de la moyenne de la série.

Test de Stationnarité

Après la différenciation, un test de stationnarité peut être réappliqué pour confirmer que la série transformée satisfait les conditions de stationnarité. Si la série est en effet devenue stationnaire, elle peut être utilisée pour ajuster un modèle ARIMA, qui nécessite une série temporelle stationnaire pour des prédictions précises et fiables.

Identification des Paramètres ARIMA

L’étape suivante dans notre analyse consiste à déterminer les ordres appropriés des termes autorégressifs (AR) et de moyenne mobile (MA) pour un modèle ARIMA qui pourrait être ajusté à notre série temporelle lissée et différenciée. Les tracés PACF et ACF nous fournissent des indices visuels pour cette identification.

Fonction d’Autocorrélation Partielle (PACF)

Le tracé PACF montre une décroissance exponentielle, ce qui suggère des termes AR significatifs dans le modèle. Sur le tracé PACF, nous identifions un terme AR potentiel à l’ordre 2 (AR(2)), car après le décalage 2, les autocorrélations partielles tombent dans la zone de non-significativité.

Fonction d’Autocorrélation (ACF)

Le tracé ACF, quant à lui, montre également une décroissance exponentielle et suggère la présence de termes MA. Un modèle MA(9) pourrait être approprié puisque l’ACF montre 9 barres significatives avant de tomber en dessous des seuils de confiance.

Modélisation Saisonnière

En ce qui concerne la saisonnalité, nous observons sur l’ACF une décroissance qui suggère un terme saisonnier MA, et sur le PACF un terme saisonnier AR avec un ordre potentiel de 4, indiquant un cycle saisonnier annuel quand on prend en compte une saisonnalité mensuelle (lag=12).

Conclusion pour les Modèles ARIMA

Compte tenu de ces observations, plusieurs modèles ARIMA saisonniers pourraient être envisagés : - ARIMA(2,0,0)(3,1,0)[12] - ARIMA(0,0,9)(4,1,0)[12] - ARIMA(2,0,0)(0,1,2)[12] - ARIMA(0,0,9)(0,1,2)[12]

Chacun de ces modèles sera évalué pour déterminer le meilleur ajustement en utilisant des critères tels que l’AIC (Critère d’Information d’Akaike), le BIC (Critère d’Information Bayésien) ou la validation croisée.

Concernant les saisons, sur le ACF ça décroit et sur le PACF on lit P = 4 sur le PACF ça décroit et sur le ACF on lit Q=4

#MA(9) ou AR(2)
#ARIMA(2,0,0)(3,1,0)h=12 ***
#ARIMA(0,0,9)(4,1,0)h=12 ****
#ARIMA(2,0,0)(0,1,2)h=12 *
#ARIMA(0,0,9)(0,1,2)h=12 **

Évaluation des Modèles Candidats ARIMA

Pour notre série temporelle des locations de vélos, un modèle ARIMA saisonnier a été ajusté et évalué. Le modèle choisi pour cette évaluation est ARIMA(2,0,0)(3,1,0)[12], indiquant un modèle autorégressif d’ordre 2 avec une composante saisonnière autorégressive d’ordre 3 et un cycle saisonnier de 12.

## 
##  Box-Ljung test
## 
## data:  residuals_m1
## X-squared = 0.057693, df = 1, p-value = 0.8102
## AIC du modèle m1: 10179.9

Analyse des Résidus

Les résidus du modèle fournissent une indication de la qualité de l’ajustement. Un modèle bien ajusté aura des résidus qui ressemblent à un bruit blanc, c’est-à-dire qu’ils seront indépendants et identiquement distribués avec une moyenne de zéro et une variance constante.

Test de Ljung-Box

Le test de Ljung-Box a été appliqué pour tester l’indépendance des résidus. Avec une valeur p de 0.8092, nous ne rejetons pas l’hypothèse nulle que les résidus sont indépendants.

Analyse du Second Modèle ARIMA et de ses Résidus

Un second modèle ARIMA(0,0,9)(4,1,0)[12] a été ajusté à la série temporelle lissée des locations de vélos. Ce modèle met l’accent sur les termes de moyenne mobile (MA) avec une forte composante saisonnière.

Résidus du Modèle ARIMA(0,0,9)(4,1,0)[12]

Après ajustement du modèle, les résidus ont été analysés pour évaluer la qualité de l’ajustement du modèle. Un modèle bien ajusté devrait avoir des résidus qui ressemblent à du bruit blanc, ce qui implique qu’ils sont indépendants et uniformément distribués avec une moyenne proche de zéro et une variance constante.

La visualisation des résidus montre une absence de structure ou de tendance apparente, ce qui est confirmé par les tracés ACF et PACF des résidus, ne montrant aucun pic significatif indiquant des autocorrélations résiduelles.

## 
##  Box-Ljung test
## 
## data:  residuals_m2
## X-squared = 0.064682, df = 1, p-value = 0.7992
## AIC du modèle m2: 10213.16

Test de Ljung-Box

Le test de Ljung-Box a été effectué pour tester l’autocorrélation des résidus. Avec une valeur p de 0.7992, il n’y a pas de preuve statistique pour rejeter l’hypothèse nulle que les résidus sont indépendants.

Évaluation du Modèle ARIMA(2,0,0)(0,1,2)[12]

Dans la poursuite de notre sélection de modèle pour les prévisions de locations de vélos, un troisième modèle ARIMA a été considéré. Ce modèle, ARIMA(2,0,0)(0,1,2)[12], combine les termes autorégressifs avec des termes de moyenne mobile saisonnière.

Résidus du Modèle ARIMA(2,0,0)(0,1,2)[12]

Les résidus de ce modèle ont été analysés pour évaluer la qualité de l’ajustement, avec une attention particulière à l’indépendance et à la distribution des résidus.

La visualisation des résidus montre un comportement similaire à celui d’un bruit blanc, sans tendance ou saisonnalité apparente, ce qui indique un bon ajustement du modèle.

Les tracés ACF et PACF des résidus ne montrent pas de pics significatifs, suggérant que le modèle capture bien l’information dans les données sans laisser de structures autocorrélées non expliquées.

## 
##  Box-Ljung test
## 
## data:  residuals_m3
## X-squared = 0.126, df = 1, p-value = 0.7226
## AIC du modèle m3: 10131.05

Évaluation du Modèle ARIMA(0,0,9)(0,1,2)[12] et ses Résidus

Un quatrième modèle ARIMA a été considéré pour affiner davantage nos prévisions de locations de vélos. Ce modèle, ARIMA(0,0,9)(0,1,2)[12], met l’accent sur les termes de moyenne mobile avec une composante saisonnière significative de moyenne mobile.

Résidus du Modèle ARIMA(0,0,9)(0,1,2)[12]

Les résidus de ce modèle ont été examinés pour déterminer si le modèle capture adéquatement les dynamiques sous-jacentes des données de locations de vélos.

La visualisation des résidus montre une distribution aléatoire autour de zéro, ce qui suggère que le modèle ajuste bien les données sans laisser de structure autocorrélative non expliquée.

Les fonctions d’autocorrélation (ACF) et d’autocorrélation partielle (PACF) des résidus montrent que la plupart des autocorrélations résiduelles se situent à l’intérieur des bornes de confiance, ce qui indique que les résidus se comportent comme un bruit blanc.

## 
##  Box-Ljung test
## 
## data:  residuals_m4
## X-squared = 0.051688, df = 1, p-value = 0.8202
## AIC du modèle m4: 10206.35

Test de Ljung-Box

Le test de Ljung-Box est utilisé pour vérifier l’absence d’autocorrélation dans les résidus à un ensemble de décalages. Pour ce modèle, le test donne une valeur p de 0.8202, ne fournissant aucune preuve d’autocorrélation significative.

Sélection du Modèle ARIMA pour les Prévisions de Locations de Vélos

Après une analyse rigoureuse des différents modèles ARIMA, le modèle m3, ARIMA(2,0,0)(0,1,2)[12], s’est distingué comme étant le plus performant pour notre série temporelle de données sur les locations de vélos.

Justification du Modèle m3

Le modèle m3 présente plusieurs avantages qui justifient sa sélection :

  • Critère d’Information d’Akaike (AIC) : Avec un AIC de 10131.05, le modèle m3 a l’AIC le plus bas parmi les modèles examinés, indiquant le meilleur ajustement relatif.

Évaluation du Modèle ARIMA Post-Désaisonnalisation

Performance du Modèle ARIMA

Le modèle ARIMA sélectionné automatiquement par la fonction auto.arima fournit une structure complexe qui capture les dynamiques des données. Les indicateurs statistiques tels que la log-vraisemblance et les critères d’information (AIC, AICc, BIC) sont des mesures clés de la performance du modèle.

Les mesures d’erreur sur l’ensemble d’apprentissage, telles que RMSE et MAE, quantifient l’écart entre les prédictions du modèle et les valeurs réelles. Ces mesures sont essentielles pour l’évaluation de la précision du modèle.

Statistiques de Diagnostic

Des statistiques telles que l’ACF1 des résidus fournissent des informations sur l’autocorrélation résiduelle, un indicateur important de la qualité de l’ajustement du modèle.

Conclusion

Le modèle ARIMA(5,1,1)(2,0,0)[12] sera utilisé pour réaliser des prévisions.

## Series: smoothed_ts 
## ARIMA(5,1,1)(2,0,0)[12] 
## 
## Coefficients:
##           ar1      ar2      ar3      ar4      ar5     ma1    sar1    sar2
##       -0.5396  -0.0782  -0.1907  -0.2164  -0.1897  0.6284  0.2808  0.3158
## s.e.   0.2044   0.0463   0.0472   0.0470   0.0402  0.2054  0.0372  0.0370
## 
## sigma^2 = 104406:  log likelihood = -5165.91
## AIC=10349.81   AICc=10350.07   BIC=10391
## 
## Training set error measures:
##                     ME     RMSE      MAE        MPE     MAPE      MASE
## Training set -3.822976 321.0912 235.8936 -0.6894523 6.372798 0.4056763
##                     ACF1
## Training set 0.002163913

La mise en œuvre d’un modèle ARIMA après désaisonnalisation permet d’obtenir des prévisions plus fiables en tenant compte uniquement des tendances et motifs inhérents à la série temporelle.

Visualisation des Données Désaisonnalisées

Un graphique des différences des locations de vélos montre l’effet de la désaisonnalisation, mettant en évidence la tendance et les variations aléatoires restantes.

Diagnostic de la Série Temporelle Désaisonnalisée

Une analyse de la fonction d’autocorrélation partielle (PACF) a été effectuée sur la série temporelle après désaisonnalisation pour identifier les ordres potentiels des termes autorégressifs du modèle ARIMA.

Interprétation de la PACF

L’ACF présente une décroissance rapide après le premier décalage, ce qui suggère un terme MA. Si ce décalage est le seul significatif, cela pourrait indiquer un modèle MA(1).

Le PACF montre un pic significatif au premier décalage et ensuite il se stabilise, ce qui est typique d’un modèle AR(1).

Analyse de la Fonction d’Autocorrélation (ACF)

Une analyse de la fonction d’autocorrélation (ACF) a également été conduite pour compléter l’analyse PACF et affiner le choix des termes du modèle ARIMA.

Résultats de l’ACF

L’ACF montre une décroissance significative après le premier décalage, ce qui suggère un terme AR(1). Cela est cohérent avec un modèle qui a un seul terme autorégressif dans la partie non saisonnière de la série temporelle.

Un pic significatif au troisième décalage peut également suggérer un terme MA(3), indiquant que les erreurs de prévision actuelles peuvent être influencées par les erreurs des trois périodes précédentes.

Implications pour le Modèle ARIMA

Les résultats de l’ACF, en combinaison avec la PACF, indiquent que les modèles ARIMA(1,0,0) ou ARIMA(0,0,3) pourraient être appropriés pour modéliser la série temporelle. Ces modèles seront évalués pour leur performance de prévision et comparés pour sélectionner le modèle le plus approprié.

#AR(1)
#MA(3)
#ARIMA(1,0,0)
#ARIMA(0,0,3)

Sélection du Modèle ARIMA

Une série de modèles ARIMA ont été ajustés sur la série temporelle désaisonnalisée afin de déterminer le candidat le plus adapté pour la prévision.

Modèle ARIMA(1,0,0) sur Données Désaisonnalisées

Un modèle ARIMA avec un seul terme autorégressif (ARIMA(1,0,0)) a été ajusté, et son diagnostic a été réalisé pour évaluer la qualité de l’ajustement.

Les résidus de ce modèle ne montrent aucun pic significatif dans les fonctions ACF et PACF, indiquant qu’il n’y a pas de corrélation automatique restante à prendre en compte.

Le test de Ljung-Box sur les résidus a donné une valeur-p de 0.5961, suggérant que les résidus sont indépendants et bien distribués.

Évaluation du Modèle

L’AIC (Critère d’Information d’Akaike) du modèle ARIMA(1,0,0) est de 12343.73.

## 
##  Box-Ljung test
## 
## data:  residuals_m1_deseasonal
## X-squared = 0.28091, df = 1, p-value = 0.5961
## AIC du modèle m4: 12343.73

Analyse du Modèle ARIMA(0,0,3) sur Données Désaisonnalisées

Un autre modèle examiné est le modèle ARIMA(0,0,3), qui intègre trois termes de moyenne mobile.

Diagnostic du Modèle ARIMA(0,0,3)

Les résidus de ce modèle ne montrent aucun pic significatif dans l’ACF ou le PACF, ce qui indique que les erreurs de prédiction ne sont pas autocorrélées.

Les graphiques ACF et PACF des résidus ne révèlent pas de pics significatifs, ce qui est une bonne indication que le modèle capte bien la structure de dépendance dans les données.

Le test de Ljung-Box donne une valeur-p très élevée de 0.9679, ce qui suggère que les résidus se comportent comme un bruit blanc, indiquant un bon ajustement du modèle aux données.

Critères d’Information

L’AIC pour le modèle ARIMA(0,0,3) est de 12346.61, légèrement supérieur à celui du modèle ARIMA(1,0,0). En théorie, le modèle avec le plus petit AIC est généralement le meilleur.

## 
##  Box-Ljung test
## 
## data:  residuals_m2_deseasonal
## X-squared = 0.0016148, df = 1, p-value = 0.9679
## AIC du modèle m2: 12346.61

Conclusion

Entre le modèle ARIMA(1,0,0) avec un AIC de 12343.73 et le modèle ARIMA(0,0,3) avec un AIC de 12346.61, le premier modèle est légèrement préféré selon le critère AIC. Cependant, d’autres critères, comme la simplicité du modèle et la facilité d’interprétation, peuvent aussi être pris en compte pour le choix final du modèle.

Ajustement Automatique d’un Modèle ARIMA

L’utilisation de la fonction auto.arima du package forecast permet de sélectionner automatiquement le meilleur modèle ARIMA en fonction des données désaisonnalisées. Cette méthode prend en compte diverses combinaisons de termes AR, MA, et les différenciations nécessaires pour trouver le modèle le plus approprié.

## Series: diff_cnt 
## ARIMA(0,1,3) 
## 
## Coefficients:
##           ma1      ma2      ma3
##       -0.5378  -0.3000  -0.1367
## s.e.   0.0367   0.0414   0.0361
## 
## sigma^2 = 1664577:  log likelihood = -6161.37
## AIC=12330.74   AICc=12330.8   BIC=12349.05
## 
## Training set error measures:
##                     ME     RMSE      MAE      MPE     MAPE      MASE
## Training set -44.02235 1286.591 924.9182 97.16658 163.5412 0.8277705
##                     ACF1
## Training set 0.001903797

Résultats du Modèle Auto-ARIMA

Le modèle sélectionné est un ARIMA(0,1,3), qui indique qu’aucun terme autorégressif n’est nécessaire, qu’une différenciation d’ordre 1 est suffisante pour rendre la série stationnaire et que trois termes de moyenne mobile sont inclus pour capturer la structure de dépendance dans les données.

Les coefficients des termes MA sont respectivement -0.5378, -0.3000, et -0.1367, avec des erreurs standard faibles, indiquant que les coefficients sont significatifs.

Mesures de Performance

La log-vraisemblance du modèle est -6161.37, et les critères d’information tels que l’AIC, l’AICc, et le BIC sont respectivement 12330.74, 12330.8, et 12349.05. Ces valeurs fournissent une mesure de la qualité du modèle par rapport à la complexité.

Analyse des Résidus

La corrélation des résidus d’ordre 1 (ACF1) est très proche de zéro, ce qui suggère que le modèle a bien capturé la structure d’information dans les données.

Conclusion

Le modèle ARIMA(0,1,3) ajusté automatiquement semble être le meilleur modèle selon les critères d’information et les mesures d’erreur. Cependant, une vérification supplémentaire des résidus et des prévisions est recommandée pour confirmer la qualité des prévisions du modèle sélectionné.

Diagnostic des Résidus du Modèle ARIMA Automatique

Après avoir ajusté un modèle ARIMA automatiquement aux données désaisonnalisées, nous procédons à l’analyse des résidus pour évaluer la qualité de l’ajustement.

Conclusion

En se basant sur les diagnostics des résidus et le test de Ljung-Box, le modèle ARIMA ajusté automatiquement semble être bien spécifié. Les résidus semblent être du bruit blanc, ce qui est une indication que le modèle a capturé toute l’information disponible dans les données. Le modèle est donc jugé adéquat pour les prévisions.

## 
##  Box-Ljung test
## 
## data:  residuals_adjusted_deseasonal
## X-squared = 0.0026169, df = 1, p-value = 0.9592
## AIC du modèle auto arima: 12330.74

Résidus du Modèle

Les résidus du modèle ARIMA automatique choisi ne montrent pas de pics significatifs dans l’ACF ou le PACF, ce qui indique que les résidus ne présentent pas d’autocorrélation et que le modèle capture bien les dépendances dans les données.

Test de Ljung-Box

Le test de Ljung-Box sur les résidus produit une valeur-p de 0.9592, suggérant fortement que les résidus sont bien distribués de façon aléatoire, ce qui est une caractéristique des bons modèles prédictifs.

Critère d’Information d’Akaike (AIC)

L’AIC du modèle auto ARIMA est de 12330.74, ce qui est une mesure relative de la perte d’information. En général, un AIC plus bas indique un meilleur modèle. Cependant, il est important de comparer cette valeur avec celles d’autres modèles pour une évaluation complète.

Le modèle choisi plus haut, AR(1) donne un AIC légèrement plus élevé, de plus, il est plus simple. et d’après le principe de parsimony, il est préférable de choisir le plus simple.

Division des Données en Ensembles d’Entraînement et de Test

Dans cette première partie du code, les données ont été divisées en deux ensembles distincts : un ensemble d’entraînement, comprenant les observations jusqu’à la 700e, et un ensemble de test à partir de la 701e observation. La série temporelle a été visualisée à l’aide de ts.plot pour observer la tendance et la saisonnalité dans les données.

## Analyse des Différences Premières

La série temporelle a été différenciée première sur l’ensemble d’entraînement pour rendre les données stationnaires.

La PACF a révélé une décroissance significative, suggérant une composante AR(5). L’ACF décroissante a indiqué une composante MA(3).

Sélection Automatique du Modèle ARIMA

## Series: train_data 
## ARIMA(3,1,1) 
## 
## Coefficients:
##          ar1      ar2      ar3      ma1
##       0.3160  -0.0401  -0.0916  -0.8718
## s.e.  0.0437   0.0410   0.0409   0.0237
## 
## sigma^2 = 831740:  log likelihood = -5754.54
## AIC=11519.08   AICc=11519.16   BIC=11541.82
## 
## Training set error measures:
##                    ME     RMSE      MAE       MPE     MAPE     MASE
## Training set 32.40763 908.7347 637.0445 -44.80348 59.12826 0.876924
##                      ACF1
## Training set -0.006730811

La sélection automatique du modèle ARIMA sur l’ensemble d’entraînement (train_data) a abouti à la recommandation d’un modèle ARIMA(3,1,1). Le modèle semble capturer efficacement les tendances et les structures saisonnières de la série temporelle, comme en témoignent les faibles valeurs d’erreur et les coefficients significatifs. Ces résultats démontrent la capacité du modèle ARIMA sélectionné à représenter de manière adéquate la dynamique de la série temporelle et fournissent une base solide pour les prévisions futures.

Ajustement Manuel du Modèle ARIMA et Prévisions

## AIC du modèle fait manuellement: 11541.92

En parallèle, un modèle ARIMA a été ajusté manuellement sur l’ensemble d’entraînement avec une composante AR(5) et MA(3) à l’aide des résultats précédents.

Les prévisions des 31 prochaines observations ont été réalisées à l’aide de ce modèle et du modèle automatique.

Comparaison des Prévisions avec ggplot2

Enfin, les résultats ont été visualisés avec ggplot2. Le graphique comparatif affiche les données réelles, les prévisions manuelles et automatiques pour évaluer la performance des modèles. Les séries temporelles sont distinguées par des couleurs différentes pour une interprétation claire.

## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

L’observation des 20 premières prédictions révèle une remarquable adéquation du modèle ajusté manuellement avec la réalité observée. Bien que des décalages temporels légers aient été notés occasionnellement, le modèle manuel parvient à capturer avec précision les variations de la série temporelle. En contraste, l’autoforecast semble stagnante autour de la moyenne, démontrant une faible capacité à saisir les fluctuations temporelles.

Cependant, sur les 10 dernières prévisions, une disparité émerge entre les véritables observations qui décroissent de manière exponentielle et les prédictions relativement stationnaires des deux modèles. Cela souligne les limites de la capacité prédictive des modèles, notamment lorsqu’ils sont confrontés à des changements abrupts dans la tendance temporelle.